/**
 */
package br.org.bertol.mestrado.engine.fitness;

import java.util.EnumMap;
import java.util.List;

import br.org.bertol.mestrado.engine.Objective;

/**
 * Classe abstrata dos tipos de fitness do problema.
 * @author contaqualquer
 * @param <T>
 *            Tipo de objeto
 */
public abstract class AbstractCombinatorialFitness<T> {

    /**
     * Calcula o peso para um determinado objetivo.
     * @param route
     *            TODO
     * @param objective
     *            Objetivo a ser caculado
     * @return TODO
     */
    public abstract boolean fitness(final List<T> route,
            final EnumMap<Objective, Number> objective);

}
